package pl.wr.physics.units.quantum.particleflavour.flavour;

import pl.wr.math.Sign;
import pl.wr.math.number.Fraction;
import pl.wr.physics.units.quantum.IQuantum;

/**
 * In physics, and specifically, particle physics, isospin (isotopic spin, isobaric spin) is a quantum number related to
 * the strong interaction. This term was derived from isotopic spin, but the term is confusing as two isotopes of a
 * nucleus have different numbers of nucleons; in contrast, rotations of isospin maintain the number of nucleons.
 * Nuclear physicists prefer isobaric spin, which is more precise in meaning. Isospin symmetry is a subset of the
 * flavour symmetry seen more broadly in the interactions of baryons and mesons.
 * 
 * @version 1.0
 * @author wieslaw.rodak
 * 
 */
public final class Isospin implements IQuantum {

	public static final String symbol = "I3";

	public final Fraction isoSpin;

	/**
	 * @param s
	 *            The sign of value.
	 * @param multiply
	 *            The multiply value of 1/2.
	 */
	public Isospin(Sign s, int multiply) {
		switch (s) {
		case minus:
			multiply = -multiply;
		}
		isoSpin = new Fraction(multiply, 2);
	}

	/**
	 * @return The string representation (Boson/Fermion) of particle type.
	 */
	public String getTypeParticle() {
		// TODO
		return null;

	}

    @Override
    public Fraction getValue() {
        return isoSpin;
    }

}
